package com.rowline.admin.module.study.desiremode.singlemode;

/**
 * ClassName:Test02
 * Created by 245167
 * on 2017/11/21  21:37
 * description:懒汉式：单例实例在第一次被使用时构建，延迟初始化
 */
public class Test02 {

    /**
     * 优点：
        避免了饿汉式的那种在没有用到的情况下创建事例，资源利用率高，不执行getInstance()就不会被实例，
        可以执行该类的其他静态方法。
       缺点：
        懒汉式在单个线程中没有问题，但多个线程同事访问的时候就可能同事创建多个实例，而且这多个实例不是
        同一个对象，虽然后面创建的实例会覆盖先创建的实例，但是还是会存在拿到不同对象的情况。解决这个问
        题的办法就是加锁synchonized，第一次加载时不够快，多线程使用不必要的同步开销大。
     */

    public Test02() {
    }

    public static Test02 instance = null;

    public static Test02 getInstance(){

        if(instance == null){
            instance = new Test02();
        }

        return instance;
    }
}
